The present invention relates to the field of control of process flow between a number of features. More particularly the invention relates to a feature agent for such control, a central control unit in an exchange in a telecommunication network, an exchange comprising such a central control unit and a telephone network all comprising such a feature agent, a computer program product comprising means for realizing such a feature agent as well as a method of controlling a process flow between and through a number of features.
A feature can in the art of telecommunication be an additional service which an operator provides to its customers in addition to the ordinary service of setting up telecommunication connections. When more than one such additional feature is provided there exists a problem of solving the relations between these features, i.e. which feature is to take precedence over another feature. There exists several documents describing how to solve competition between features.
U.S. Pat. No. 5,448,631 describes a central way of handling features. A feature manager runs, for a process, through a number of program steps for handling which feature is to be called. The feature manager receives an event from a basic call process and sends it to all features that are interested in the event. It receives messages from all these features and formulates a call processor response from these received messages, which response is returned to the basic call process. Thus several process flows are started and the result of one of these flows is reported.
U.S. Pat. No. 5,337,351 also describes a central process for handling which feature is to be called. When a conflict arises between features said process is called for comparing different criteria for features. The process decides which feature is to be called in dependence of these criteria. It is in this case also a question about a central and complicated decision process, which solves a conflict between two features.
WO95/07593 generally describes different sets of rules for disconnecting a feature which has been activated in a process in connection with a certain event. Conflicts between features, already activated or pending, are solved through a decision process consisting of different branch instructions. What is described here is thus also solving of conflicts between two features.
WO95/22222 also describes a centralized process for detection and solving conflicts between features.
All above mentioned documents are thus related to central decision logic for solving conflicts between two features, when such conflicts arise or for selecting the result of one feature in dependence of a conflict.
Above mentioned document WO95/22222 also shortly mentions, in the section titled description of related art, that simple interaction logic between features, or as they are called there supplementary functions, can be handled by tables and that interactions are controlled by priorities.
As stated above this document only describes this simple interaction logic shortly and related technical literature, like the ETSI GSM Technical Specification GSM 02.04, xe2x80x9cEuropean digital cellular telecommunication system (phase 1); General on Supplementary Servicesxe2x80x9d, mentions that priorities are used for solving conflicts between different supplementary services. The above GSM document, which is a general specification, also contains a table showing, for each of a number of additional services, which other additional service that particular additional service can interact with.
In ETSI Technical Specification GSM 02.83, xe2x80x9cDigital cellular telecommunications system; Call Waiting (CW) and Call Holding (HOLD) Supplementary Servicesxe2x80x94Stage 1xe2x80x9d, which is in the same series of specifications as above mentioned general specification, the interactions between a number of additional services are specified. This specification only lists how for example the feature Call Waiting is allowed to interact with for example Call hold. Sometimes a priority is given, but not always. What is described here is also more of how features interact, but then never for more than two at a time. What is described is thus more of the solution of a conflict between two features.
The present invention is directed to solving the problem of providing a simple, flexible and efficient way of controlling a process flow between different features subscribing to an event.
This problem is solved by a feature agent that receives the event, selects, in an encountered control point of the process flow, a feature having the highest priority from a list comprising features of differing priorities subscribing to said event and to the combination of control points including at least the encountered control point and hands over control of the process flow to that feature for continuing the process flow in the selected feature.
One object of the present invention is to provide a simple, flexible and efficient method of controlling a process flow between and through a number of features subscribing to an event in a telecommunication network.
This object is achieved by a method comprising the steps of receiving the event, marking a starting control point of the flow, selecting, in an encountered control point of the process flow, a feature having the highest priority from a list comprising features of differing priorities subscribing to said event and to the combination of control points including at least the encountered control point and handing over control of the process flow to that feature, so that the process flow can continue in the selected feature.
Another object of the present invention is to provide a feature agent, a central control unit in an exchange in a telecommunication network, an exchange and a telephone network all comprising such a feature agent, where the feature agent provides a simple, flexible and efficient way of controlling the process flow between different features subscribing to an event.
This object is solved by a feature agent, a central control unit in an exchange in a telecommunication network, an exchange and a telephone network, where the feature agent comprises means for receiving the event, which event marks a starting control point of the flow, and means for selecting, in at least one encountered control point of the process flow, a feature which is to take over control of the process flow. The feature agent includes or has access to, for at least one possible control point within the flow, at least one separate list specific for the event and a combination of control points including at least the encountered control point, said list comprising features of differing priorities subscribing to said event and to the combination of control points, and the means for selecting a feature is arranged, for said encountered control point, to select the feature which has the highest priority in the corresponding list and hand over control of the process flow to that feature so that the process flow can continue in that feature.
Another object of the present invention is to provide a computer program product comprising means for realizing a feature agent, where the feature agent provides a simple, flexible and efficient way of controlling the process flow between different features subscribing to an event.
This object is solved by a computer program product comprising a computer usable storage medium having computer program code embodied in said medium for causing the assembly of sets of executable computer instructions to provide control of telecommunication services in or for an exchange, where the exchange comprises or has access to at least two features for performing separate telecommunication services. The computer program product comprises means for organizing sets of executable computer instructions into a feature agent for controlling a process flow between and through a number of features subscribing to a certain event, so that the feature agent comprises means for receiving an event, which event marks a starting control point of the flow, and means for selecting, in at least one encountered control point of the process flow, a feature which is to take over control of the process flow. The feature agent includes or has access to, for at least one possible control point within the flow, at least one separate list specific for the event and a combination of control points including at least the encountered control point, said list comprising features of differing priorities subscribing to said event and to the combination of control points, and the means for selecting a feature is arranged, for said encountered control point, to select the feature which has the highest priority in the corresponding list and hand over control of the process flow to that feature, so that the process flow continues in that feature.
One advantage of the present invention is that it provides simple and effective control of the process flow between different features.
Because of the modularity of the invention, where features only communicate with each other via a feature agent, the features become independent of each other. In this way construction of new features to be added to a process control system is much simplified. Testing of a process control system is also simplified since one can test the interworking of a few features and then stepwise increase the number of features until all the features in the process control system are provided. In conventional process control systems, like for instance telecommunication systems, one commonly has to test a whole system at one time, which makes the identification of errors in the interworking of features harder. The invention also provides for simpler construction of a process control system in that not all features might need to be provided simultaneously but some features can be provided later. In this way a process control system can be delivered before all the features to be implemented in it are actually there and these features can then be provided later.
A feature according to the present invention is more than an additional feature mentioned in the prior art and can include several other types of services like the setting up of a telephone call.